package com.example.mypokerstats;
import java.util.List;

import Persistance.TTournoi;
import PersistanceBase.eEtatEnregistrement;
import adapters.TournoiAdapter;
import android.app.Fragment;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ListView;

/**
 * Fragment that appears in the "content_frame", shows a planet
 */
public class TournoiFragment extends Fragment {
	public static final String ARG_TOURNOI_NUMBER = "tournoi_number";
	private TTournoi tournoi;

	public EditText etLibelle;
	public EditText etNbJoueurs;
	public EditText etBuyIn;
	public EditText etStackDepart;
	public TextWatcher onChange;
	public View rootView;


	public TTournoi getTournoi() {
		return tournoi;
	}

	public void setTournoi(TTournoi tournoi) {
		this.tournoi = tournoi;
	}

	public TournoiFragment() {
		// Empty constructor required for fragment subclasses
	}

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
		rootView = inflater.inflate(R.layout.fragment_tournoi, container, false);
		ChargerStyle ();
		ChargerDonnees ();
		BindToLayout ();
		return rootView;
	}

	public void BindToLayout (){
		etLibelle.setText(tournoi.getLibelle());
		if(tournoi.getNbJoueurs() != null)
			etNbJoueurs.setText(tournoi.getNbJoueurs().toString());
		if(tournoi.getBuyIn() != null)
			etBuyIn.setText(tournoi.getBuyIn().toString());
		if(tournoi.getStackDepart() != null)
			etStackDepart.setText(tournoi.getStackDepart().toString());
	}

	public void BindFromLayout (){
		tournoi.setLibelle(etLibelle.getText().toString());
		if(!etBuyIn.getText().toString().equals(""))
			tournoi.setBuyIn(Integer.parseInt(etBuyIn.getText().toString()));
		if(!etNbJoueurs.getText().toString().equals(""))
			tournoi.setNbJoueurs(Integer.parseInt(etNbJoueurs.getText().toString()));
		if(!etStackDepart.getText().toString().equals(""))
			tournoi.setStackDepart(Integer.parseInt(etStackDepart.getText().toString()));
	}

	public void ChargerDonnees (){
		int i = getArguments().getInt(ARG_TOURNOI_NUMBER);
		tournoi = new TTournoi ();
		tournoi.setNum(i);
		tournoi = (TTournoi) TTournoi.select(tournoi);
		if(tournoi != null)
			getActivity().setTitle(tournoi.getLibelle());
	}

	public void ChargerStyle (){

		onChange = new TextWatcher() {

			@Override
			public void onTextChanged(CharSequence s, int start, int before, int count) {
				// TODO Auto-generated method stub

			}

			@Override
			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {
				// TODO Auto-generated method stub

			}

			@Override
			public void afterTextChanged(Editable s) {
				BindFromLayout();
				tournoi.set_etatEnregistrement(eEtatEnregistrement.modification);
				tournoi.Sauvegarde(false);
				ListView liste = (ListView)getActivity().findViewById(R.id.left_drawer);
				List<TTournoi> listeAdapter = TTournoi.selectAllConditions(new TTournoi ());
				liste.setAdapter(new TournoiAdapter (getActivity(), listeAdapter));
			}
		};

		etBuyIn = (EditText)rootView.findViewById(R.id.etBuyIn);
		etBuyIn.addTextChangedListener(onChange);
		etLibelle = (EditText)rootView.findViewById(R.id.etLibelle);
		etLibelle.addTextChangedListener(onChange);
		etNbJoueurs = (EditText)rootView.findViewById(R.id.etNbJoueurs);
		etNbJoueurs.addTextChangedListener(onChange);
		etStackDepart = (EditText)rootView.findViewById(R.id.etStackDepart);
		etStackDepart.addTextChangedListener(onChange);
	}



}